package com.mars.pay.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单实体类
 *
 * @author Mars
 */
@Data
@TableName("t_order")
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键 ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 订单号（业务订单号）
     */
    private String orderNo;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 商品描述
     */
    private String productDesc;

    /**
     * 订单金额（单位：元）
     */
    private BigDecimal amount;

    /**
     * 支付方式（WECHAT/ALIPAY）
     */
    private String paymentType;

    /**
     * 支付状态（0-待支付 1-支付中 2-支付成功 3-支付失败 4-已退款 5-已关闭）
     */
    private Integer status;

    /**
     * 第三方订单号（微信/支付宝返回的订单号）
     */
    private String thirdOrderNo;

    /**
     * 用户 ID
     */
    private Long userId;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 支付时间
     */
    private LocalDateTime payTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 备注
     */
    private String remark;
}

